#pragma once

#include "literal.h"

namespace solver {

	class clause
	{
	public:

		// TODO: because clause is not the one being "searched", we can 
		// go ahead and turn this into something smaller like a normal vector
		std::vector<literal> literals;

		void clear()
		{
			literals.clear();
		}

		bool operator==(clause& c)
		{
			int s = literals.size();
			int cs = c.literals.size();
			if (cs != s)
				return false;
			for (int i = 0; i < s; i++)
			{
				if (literals[i] != c.literals[i])
					return false;
			}
			return true;
		}

		bool operator!=(clause& c)
		{
			return !(*this == c);
		}

	};

}
